home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #2 / Amiga Plus CD - 2004 - No. 02.iso / AmigaPlus / Tools / Development / AmigaTalk / AmigaTalk.install < prev    next >
Text File  |  2004-01-31  |  12KB  |  395 lines

  1. ; -------------------------------------------------------
  2. ; Installer script for AmigaTalk V2.5+
  3. ; -------------------------------------------------------
  4.  
  5. (set #welcome "This is the installer for AmigaTalk!")
  6.  
  7. (set #wrongversion
  8. (cat "You have an old version of the program 'Installer' "
  9.      "on your Amiga!\n\n"
  10.      "The installation procedure needs at least Installer 42.9."
  11.      "\n\nPlease check your System & obtain a newer version!"
  12. ))
  13.  
  14. (set #general-help 
  15. (cat "The install script will copy all %s files &"
  16.      "directories to the destination that you specify."
  17.      "Then it will add an Assign AmigaTalk: Vol:destination/"
  18.      "statement to your User-Startup file located in the "
  19.      "S: directory."
  20. ))
  21.  
  22. (set #destdir-prompt "Select a Volume & Path where AmigaTalk will be added:")
  23.  
  24. (set #destdir-help   
  25. (cat "Select the volume that you wish to place AmigaTalk in."
  26.      "Then select a directory (if any) that will serve as a "
  27.      "parent for AmigaTalk.  Example:  Select DH0: as the volume,"
  28.      "then select a directory (such as Programs) & the installer"
  29.      "will make a directory called DH0:Programs/AmigaTalk, where"
  30.      "the AmigaTalk program will be placed."
  31. ))
  32.  
  33. (set #no-diskspace "To install AmigaTalk into '%s', you need at least %ld bytes of free harddrive space!")
  34.  
  35. (set #startup-prompt "An Assign has to be added to S:User-Startup for AmigaTalk.")
  36. (set #startup-help   "AmigaTalk won't work correctly without this!")
  37.  
  38. (set #runNext 
  39. (cat "Now the AmigaTalk.install will run ATalkConfig so that\ "
  40.      "AmigaTalk will have its Icon ToolTypes set to your\ "
  41.      "specifications - such as the ScreenMode to use, the\ "
  42.      "Font to use & especially how much memory to check for\ "
  43.      "at the Start of AmigaTalk.  AmigaTalk will keep track\ "
  44.      "of these things after ATalkConfig is done, so you only\ "
  45.      "need to run it once."
  46. ))
  47.  
  48. ;------------------------------------------------------------------------
  49. ; Cleanup any temporary mess we created
  50. (procedure CLEANUP
  51.     ; Nothing to cleanup
  52.     (delete (tackon @default-dest ".tempinstall") (all) (optional "force"))
  53. )   ; CLEANUP
  54.  
  55.  
  56. ;------------------------------------------------------------------------
  57. ; Obtain an installation path
  58. (procedure GETPATH #gp_default #gp_remdir #gp_msg #gp_help
  59.  
  60.     (set #gp_res "")
  61.     (while (= "" #gp_res)
  62.         (set #gp_res #gp_default)
  63.         (if (not (exists #gp_res (noreq)))
  64.           (
  65.             ; Surfer 1.1 Hack:
  66.             (if (= #gp_res "Work:")
  67.               (
  68.                 (set #gp_res "")
  69.                 (set #gp_default @default-dest)
  70.               )
  71.             ) ; if
  72.  
  73.           )
  74.         ) ; if
  75.  
  76.         (if (OR (= "" #gp_res) (= @user-level 2))
  77.           (
  78.             ; We had a problem. So we need to ask the user!
  79.             (set #gp_res
  80.                 (expandpath
  81.                     (askdir
  82.                         (prompt #gp_msg)
  83.                         (help #gp_help)
  84.                         (default #gp_default)
  85.                     )
  86.                 )
  87.             )
  88.           )
  89.         ) ; if
  90.  
  91.         ; If the directory does not exist, retry!
  92.         (if (<> "" #gp_res)
  93.           (
  94.             (if (not (exists #gp_res (noreq)))
  95.                 (set #gp_res "")
  96.             ) ; if
  97.           )
  98.         ) ; if
  99.     ) ; while
  100.  
  101.     ; return the result!
  102.     (set #gp_res #gp_res)
  103.  
  104. ) ; GETPATH
  105.  
  106. ;------------------------------------------------------------------------
  107. ; We can't handle this script without Installer 42.9 or better!
  108. (if (< @installer-version 2752521)
  109.   (
  110.     ; Big problem!
  111.     (message #wrongversion)
  112.     (exit (quiet))
  113.   )
  114. )
  115.  
  116. ; find out how the user wants to install things
  117. (welcome #welcome)
  118.  
  119. (complete 0)
  120.  
  121. ; First find the Destination base:
  122.  
  123. (set #ATalkDirBase (GETPATH "Work:" TRUE #destdir-prompt #destdir-help))
  124.  
  125. ; We have to create a drawer "AmigaTalk" there!
  126. (set #ATalkDir (tackon #ATalkDirBase "AmigaTalk"))
  127.  
  128. (set @default-dest #ATalkDir)
  129.  
  130. ; If this is a new installation, we check the diskspace!
  131.  
  132.     (if (not (exists @default-dest))
  133.       (
  134.         ; For a new setup, we should leave some space!
  135.         (if (< (getdiskspace #ATalkDirBase) 4000000)
  136.             (abort (#no-diskspace #ATalkDirBase 4000000))
  137.         )
  138.  
  139.         (makedir @default-dest)
  140.  
  141.         (set #CatalogsDir "Locale:")
  142.  
  143.         (set #BrowserDir (tackon @default-dest "Browser"))
  144.         (makedir #BrowserDir)
  145.  
  146.         (set #CDir (tackon @default-dest "C"))
  147.         (makedir #CDir)
  148.  
  149.         (set #CodeLibDir (tackon @default-dest "CodeLib"))
  150.         (makedir #CodeLibDir)
  151.  
  152.         (set #ExamplesDir (tackon @default-dest "Examples"))
  153.         (makedir #ExamplesDir)
  154.  
  155.         (set #GeneralDir (tackon @default-dest "General"))
  156.         (makedir #GeneralDir)
  157.  
  158.         (set #GUIBuilderDir (tackon @default-dest "GUIBuilder"))
  159.         (makedir #GUIBuilderDir)
  160.  
  161.         (set #HelpDir (tackon @default-dest "Help"))
  162.         (makedir #HelpDir)
  163.  
  164.         (set #HooksDir (tackon @default-dest "Hooks"))
  165.         (makedir #HooksDir)
  166.  
  167.         (set #ImageDir (tackon @default-dest "Images"))
  168.         (makedir #ImageDir)
  169.  
  170.         (set #IntuitionDir (tackon @default-dest "Intuition"))
  171.         (makedir #IntuitionDir)
  172.  
  173.         (set #PreludeDir (tackon @default-dest "Prelude"))
  174.         (makedir #PreludeDir)
  175.  
  176.         (set #PreludeListDir (tackon @default-dest "Prelude/listFiles"))
  177.         (makedir #PreludeListDir)
  178.  
  179.         (set #SystemDir (tackon @default-dest "System"))
  180.         (makedir #SystemDir)
  181.  
  182.         (set #TestFilesDir (tackon @default-dest "TestFiles"))
  183.         (makedir #TestFilesDir)
  184.  
  185.         (set #UserDir (tackon @default-dest "User"))
  186.         (makedir #UserDir)
  187.  
  188.         (complete 9)
  189.  
  190.         (copyfiles (prompt  "Making AmigaTalk drawer...")
  191.                    (help    @copyfiles-help)
  192.                    (source  "AmigaTalkDrawer.info")
  193.                    (dest    (tackon #ATalkDirBase "AmigaTalk.info"))
  194.         )
  195.  
  196. ;        (copyfiles (prompt  "Copying ARexxScripts...")
  197. ;                   (help    @copyfiles-help)
  198. ;                   (source  "ARexxScripts")
  199. ;                   (dest    #ARexxDir)
  200. ;                   (pattern "#?.rexx")
  201. ;                   (files)
  202. ;        )
  203.  
  204.         (copyfiles (prompt  "Copying Browser files...")
  205.                    (help    @copyfiles-help)
  206.                    (source  "Browser")
  207.                    (dest    #BrowserDir)
  208.                    (pattern "#?")
  209.         )
  210.  
  211.         (copyfiles (prompt  "Copying C...")
  212.                    (help    @copyfiles-help)
  213.                    (source  "C")
  214.                    (dest    #CDir)
  215.                    (pattern "#?")
  216.         )
  217.  
  218.         (copyfiles (prompt  "Copying CodeLib...")
  219.                    (help    @copyfiles-help)
  220.                    (source  "CodeLib")
  221.                    (dest    #CodeLibDir)
  222.                    (pattern "#?")
  223.         )
  224.  
  225.         (copyfiles (prompt  "Copying Examples...")
  226.                    (help    @copyfiles-help)
  227.                    (source  "Examples")
  228.                    (dest    #ExamplesDir)
  229.                    (pattern "#?.(st|p)")
  230.         )
  231.  
  232.         (complete 25)
  233.  
  234.         (copyfiles (prompt  "Copying General...")
  235.                    (help    @copyfiles-help)
  236.                    (source  "General")
  237.                    (dest    #GeneralDir)
  238.                    (pattern "#?.st")
  239.         )
  240.  
  241.         (copyfiles (prompt  "Copying GUIBuilder...")
  242.                    (help    @copyfiles-help)
  243.                    (source  "GUIBuilder")
  244.                    (dest    #GUIBUilderDir)
  245.                    (pattern "#?.template")
  246.         )
  247.  
  248.         (copyfiles (prompt  "Copying Help...")
  249.                    (help    @copyfiles-help)
  250.                    (source  "Help")
  251.                    (dest    #HelpDir)
  252.                    (pattern "#?")
  253.         )
  254.  
  255.         (copyfiles (prompt  "Copying Hooks (if any)...")
  256.                    (help    @copyfiles-help)
  257.                    (source  "Hooks")
  258.                    (dest    #HooksDir)
  259.                    (pattern "#?")
  260.         )
  261.  
  262.         (copyfiles (prompt  "Copying Catalogs...")
  263.                    (help    @copyfiles-help)
  264.                    (source  "Locale/Catalogs")
  265.                    (dest    #CatalogsDir)
  266.                    (pattern "#?")
  267.         )
  268.  
  269.         (copyfiles (prompt  "Copying Images...")
  270.                    (help    @copyfiles-help)
  271.                    (source  "Images")
  272.                    (dest    #ImageDir)
  273.                    (pattern "#?")
  274.         )
  275.  
  276.         (copyfiles (prompt  "Copying Intuition...")
  277.                    (help    @copyfiles-help)
  278.                    (source  "Intuition")
  279.                    (dest    #IntuitionDir)
  280.                    (pattern "#?.(st|p)")
  281.         )
  282.  
  283.         (complete 50)
  284.  
  285.         (copyfiles (prompt  "Copying Prelude...")
  286.                    (help    @copyfiles-help)
  287.                    (source  "Prelude")
  288.                    (dest    #PreludeDir)
  289.                    (pattern "#?")
  290.         )
  291.  
  292.         (copyfiles (prompt  "Copying Prelude/listFiles...")
  293.                    (help    @copyfiles-help)
  294.                    (source  "Prelude/listFiles")
  295.                    (dest    #PreludeListDir)
  296.                    (pattern "#?")
  297.         )
  298.  
  299.         (copyfiles (prompt  "Copying System...")
  300.                    (help    @copyfiles-help)
  301.                    (source  "System")
  302.                    (dest    #SystemDir)
  303.                    (pattern "#?.(st|p)")
  304.         )
  305.  
  306.         (copyfiles (prompt  "Copying TestFiles...")
  307.                    (help    @copyfiles-help)
  308.                    (source  "TestFiles")
  309.                    (dest    #TestFilesDir)
  310.                    (pattern "#?")
  311.         )
  312.  
  313.         (copyfiles (prompt  "Copying User...")
  314.                    (help    @copyfiles-help)
  315.                    (source  "User")
  316.                    (dest    #UserDir)
  317.                    (pattern "#?")
  318.         )
  319.  
  320.         (complete 80)
  321.  
  322.         (copyfiles (prompt  "Copying Main files...")
  323.                    (help    @copyfiles-help)
  324.                    (source  "AmigaTalk.env")
  325.                    (dest    #ATalkDir)
  326.         )
  327.  
  328.         (copyfiles (prompt  "Copying Main files...")
  329.                    (help    @copyfiles-help)
  330.                    (source  "AmigaTalk.colors")
  331.                    (dest    #ATalkDir)
  332.         )
  333.  
  334.         (copyfiles (prompt  "Copying Main files...")
  335.                    (help    @copyfiles-help)
  336.                    (source  "AmigaTalk.info")
  337.                    (dest    #ATalkDir)
  338.         )
  339.  
  340.         (copyfiles (prompt  "Copying Main files...")
  341.                    (help    @copyfiles-help)
  342.                    (source  "AmigaTalk.info.backup")
  343.                    (dest    #ATalkDir)
  344.         )
  345.  
  346.         (copyfiles (prompt  "Copying Main files...")
  347.                    (help    @copyfiles-help)
  348.                    (source  "TheBrowser.info")
  349.                    (dest    #ATalkDir)
  350.         )
  351.  
  352.         (copyfiles (prompt  "Copying Main files...")
  353.                    (help    @copyfiles-help)
  354.                    (source  "AmigaTalk.readme")
  355.                    (dest    #ATalkDir)
  356.         )
  357.  
  358.         (complete 83)
  359.  
  360.         (copyfiles (prompt  "Copying Main program...")
  361.                    (help    @copyfiles-help)
  362.                    (source  "AmigaTalk")
  363.                    (dest    #ATalkDir)
  364.                    (pattern "AmigaTalk")
  365.         )
  366.  
  367.         (complete 98)
  368.       )
  369.     )
  370.  
  371. ; Now, execute the ATalkConfig program:
  372.  
  373. (message #runNext (all))
  374. (set #Configure (cat #ATalkDir "/C/ATalkConfig " #ATalkDir "/AmigaTalk"))
  375. (run #Configure (safe))
  376.  
  377. (startup    "AmigaTalk"
  378.    (prompt  "An Assign needs to be added to the \"S:user-startup\".")
  379.    (help    "AmigaTalk has to know where to find certain files.")
  380.    (command "Assign AmigaTalk: " #ATalkDir)
  381. )
  382.  
  383. ; If we have to add an Assign, we better create one right now
  384. (makeassign "AmigaTalk" #ATalkDir)
  385.  
  386. ;------------------------------------------------------------------------
  387. ; That's it!
  388.  
  389. (complete 100)
  390.  
  391. (CLEANUP)
  392. (exit)
  393.  
  394. (abort "Well, I tried!")
  395.